#pragma once

#ifndef ClientParams_H
#define ClientParams_H
#include "Referenced.h"

// a temp class wait for effect complete...
class ClientParamsAdapter : public fusion::Referenced
{
public:
	ClientParamsAdapter(int width, int height);
	~ClientParamsAdapter(void);
	void SetParam(unsigned int ruleKey, int rule)
	{
		m_rules[ruleKey] = rule;
	}
	void SetMargins(int left, int right, int top, int bottom)
	{
		m_marginLeft = left;
		m_marginRight = right;
		m_marginTop = top;
		m_marginBottom = bottom;
	}

	int GetMarginLeft() { return m_marginLeft; }
	int GetMarginRight() { return m_marginRight; }
	int GetMarginTop() { return m_marginTop; }
	int GetMarginBottom() { return m_marginBottom; }
	int GetParams(unsigned int ruleKey) { return m_rules[ruleKey]; }
	int GetWidth() { return m_width; }
	int GetHeight() { return m_height; }
private:
	static const unsigned int RuleNumber = 15;
	int m_width;
	int m_height;
	int m_marginLeft;
	int m_marginRight;
	int m_marginTop;
	int m_marginBottom;
	int m_rules[RuleNumber];
};
#endif